On the Impact of Serializing Contention Management on STM Performance
نویسندگان
چکیده
Transactional memory (TM) is an emerging concurrent programming abstraction. Numerous software-based transactional memory (STM) implementations have been developed in recent years. STM implementations must guarantee transaction atomicity and isolation. In order to ensure progress, an STM implementation must resolve transaction collisions by consulting a contention manager (CM). Recent work established that serializing contention management – a technique in which the execution of colliding transactions is serialized for eliminating repeat-collisions – can dramatically improve STM performance in high-contention workloads. In low-contention and highly-parallel workloads, however, excessive serialization of memory transactions may limit concurrency too much and hurt performance. It is therefore important to better understand how the impact of serialization on STM performance varies as a function of workload characteristics. We investigate how serializing CM influences the performance of STM systems. Specifically, we study serialization’s influence on STM throughput (number of committed transactions per time unit) and efficiency (ratio between the extent of “useful” work done by the STM and work “wasted” by aborts) as the workload’s level of contention changes. Towards this goal, we implement CBench a synthetic benchmark that generates workloads in which transactions have (parameter) pre-determined length and probability of being aborted in the lack of contention reduction mechanisms. CBench facilitates evaluating the efficiency of contention management algorithms across the full spectrum of contention levels. The characteristics of TM workloads generated by real applications may vary over time. To achieve good performance, CM algorithms need to monitor these characteristics and change their behavior accordingly. We implement adaptive algorithms that control the activation of serialization CM according to measured contention level, based on a novel low-overhead serialization mechanism. We then evaluate our new algorithms on CBench-generated workloads and on additional well-known STM benchmark applications. Our results shed light on the manner in which serializing CM should be used by STM systems. We show that adaptive contention managers are susceptible to a phenomenon of mode oscillations – in which serialization is repeatedly turned on and off – which hurts performance. We implement a simple stabilizing mechanism that solves this problem. We also compare the performance of local and global adaptive CM algorithms and demonstrate that local adaptive algorithms are superior for applications with asymmetric workloads.
منابع مشابه
Scheduling and Serialization Techniques for Transactional Memories
In the last few years, Transactional Memories (TMs) have been shown to be a parallel programming model that can effectively combine performance improvement with ease of programming. Moreover, the recent introduction of (H)TM-based ISA extensions, by major microprocessor manufacturers, also seems to endorse TM as a programming model for today’s parallel applications. One of the central issues in...
متن کاملبررسی چالش رفتار من سانی در انتصاب مدیران مورد مطالعه : مدیران دانشگاه علوم پزشکی شیراز
Abstract Introduction: Selection and employment of clerks and managers is a crucial factor in modern organization and, recruiters try to select the best candidates in all organizational levels. One challenge which has been harmful for management stability is Similar-to-me (STM) effect. This effect explains that people usually tend to select a person with whom they have common demographic and...
متن کاملAdaptive Software Transactional Memory: A Dynamic Approach to Contention Management
Effectively managing shared memory in a multi-threaded environment is critical in order to achieve high performance in multi-core hardware platforms. Software Transactional Memory (STM) is a scheme for managing shared memory in a concurrent programming environment. STM views shared memory in a way similar to that of a database; read and write operations are handled through transactions, with ch...
متن کاملOn Enhancing Concurrency in Distributed Software Transactional Memory
Distributed software transactional memory (STM) promises to alleviate difficulties with lockbased (distributed) synchronization and object performance bottlenecks in distributed systems. The existing distributed STM model based on globally-consistent contention management policies may abort many transactions that could potentially commit without violating correctness. To reduce unnecessary abor...
متن کاملPolymorphic Contention Management
In software transactional memory (STM) systems, a contention manager resolves conflicts among transactions accessing the same memory locations. Whereas atomicity and serializability of the transactions are guaranteed at all times, the contention manager is of crucial importance for guaranteeing that the system as a whole makes progress. A number of different contention management policies have ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009